.TH std::ranges::adjacent_transform_view::adjacent_transform_view 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ranges::adjacent_transform_view::adjacent_transform_view \- std::ranges::adjacent_transform_view::adjacent_transform_view

.SH Synopsis
   adjacent_transform_view() = default;                         \fB(1)\fP (since C++23)
   constexpr explicit adjacent_transform_view( V base, F fun ); \fB(2)\fP (since C++23)

   Constructs an adjacent_transform_view.

   1) Default constructor. Default-initializes the underlying data members fun_ and
   inner_.
   2) Move constructs the underlying data members: fun_ with std::move(fun) and inner_
   with std::move(base).

.SH Parameters

   base - the underlying view
   fun  - the N-ary transformation function

.SH Example


// Run this code

 #include <algorithm>
 #include <iostream>
 #include <iterator>
 #include <ranges>

 int main()
 {
     constexpr static auto v = {1, 2, 3, 4, 5};
     constexpr auto mul = [](auto... x) { return (... * x); };
     constexpr auto view = std::views::adjacent_transform<3>(v, mul);
     std::ranges::copy(view, std::ostream_iterator<int>(std::cout, " "));
     std::cout << '\\n';
 }

.SH Output:

 6 24 60
